Custom Exception তৈরি এবং ব্যবহার

Computer Programming - ক্লোজার (Clojure) Exception Handling (Exception Handling in Clojure) |
236
236

Custom Exception তৈরি এবং ব্যবহার

Java তে Custom Exception তৈরি করা খুবই সহজ, যা আপনাকে আপনার প্রয়োজন অনুযায়ী কাস্টম ত্রুটি (error) বা ব্যতিক্রম (exception) পরিচালনা করতে সহায়ক। আপনি যখন কোনও নির্দিষ্ট শর্তে ত্রুটি বা ব্যতিক্রম (exception) সৃষ্টি করতে চান, তখন কাস্টম এক্সসেপশন ব্যবহার করতে পারেন।

Java তে কাস্টম এক্সসেপশন তৈরি করতে আপনাকে একটি নতুন ক্লাস তৈরি করতে হবে যা Exception বা RuntimeException (ব্যবহারের প্রকারের ওপর নির্ভর করে) ক্লাস থেকে উত্তরাধিকারী হবে। কাস্টম এক্সসেপশন সাধারণত আপনার অ্যাপ্লিকেশনের বিশেষ ত্রুটি পরিস্থিতি পরিচালনার জন্য ব্যবহৃত হয়।


কাস্টম এক্সসেপশন তৈরি করার জন্য প্রক্রিয়া:

  1. Exception ক্লাস থেকে উত্তরাধিকারী ক্লাস তৈরি করা: আপনার কাস্টম এক্সসেপশন ক্লাসটি Exception (বা RuntimeException যদি আপনি আনচেকড এক্সসেপশন চান) থেকে উত্তরাধিকার নেবে।
  2. কন্সট্রাক্টর তৈরি করা: আপনার কাস্টম এক্সসেপশন ক্লাসে প্রয়োজনীয় কন্সট্রাক্টর সংজ্ঞায়িত করুন, যাতে ত্রুটির মেসেজ বা অন্যান্য প্রয়োজনীয় ডেটা পাস করা যায়।
  3. মেসেজ বা অন্যান্য ডেটা সংরক্ষণ করা: আপনি যদি চান, তবে আপনার কাস্টম এক্সসেপশনে অতিরিক্ত তথ্য সংরক্ষণ করতে পারেন যেমন ত্রুটির কোড বা বিশেষ বিবরণ।

১. Custom Checked Exception তৈরি করা

এখানে একটি কাস্টম চেকড এক্সসেপশন তৈরি করা হয়েছে, যা একটি নির্দিষ্ট শর্তে ফেলে দেয়। চেকড এক্সসেপশন এমন এক্সসেপশন, যা কেবলমাত্র কোডে explicit ভাবে হ্যান্ডেল করতে হয়।

উদাহরণ: InvalidAgeException

// Custom Checked Exception
public class InvalidAgeException extends Exception {
    // কন্সট্রাক্টর
    public InvalidAgeException(String message) {
        super(message);  // Exception এর superclass constructor কল করা
    }
}

এখানে, InvalidAgeException একটি কাস্টম চেকড এক্সসেপশন যা Exception ক্লাস থেকে উত্তরাধিকারী। এর কন্সট্রাক্টর একটি ত্রুটি মেসেজ গ্রহণ করে যা এক্সসেপশন ঘটলে প্রদর্শিত হবে।

এই কাস্টম এক্সসেপশন ব্যবহার করা:

public class AgeValidator {
    public static void validateAge(int age) throws InvalidAgeException {
        if (age < 18) {
            throw new InvalidAgeException("Age must be 18 or older");
        } else {
            System.out.println("Age is valid");
        }
    }

    public static void main(String[] args) {
        try {
            validateAge(16);  // এটি InvalidAgeException ছুড়ে দেবে
        } catch (InvalidAgeException e) {
            System.out.println("Caught Exception: " + e.getMessage());
        }
    }
}

এখানে, validateAge মেথডটি যদি ১৮ এর কম বয়স পাস করা হয়, তবে InvalidAgeException ছুড়ে দেয়। main মেথডে আমরা try-catch ব্লক ব্যবহার করে এই কাস্টম এক্সসেপশনটি হ্যান্ডেল করেছি।


২. Custom Unchecked Exception তৈরি করা

যদি আপনি একটি আনচেকড এক্সসেপশন (unchecked exception) তৈরি করতে চান, তাহলে আপনি RuntimeException থেকে কাস্টম এক্সসেপশন ক্লাস তৈরি করবেন। এই ধরনের এক্সসেপশনগুলি যেকোনো সময় ফেলা হতে পারে এবং এগুলো হ্যান্ডেল করার জন্য try-catch ব্লক বাধ্যতামূলক নয়।

উদাহরণ: NegativeValueException

// Custom Unchecked Exception
public class NegativeValueException extends RuntimeException {
    // কন্সট্রাক্টর
    public NegativeValueException(String message) {
        super(message);  // Exception এর superclass constructor কল করা
    }
}

এখানে, NegativeValueException একটি কাস্টম আনচেকড এক্সসেপশন যা RuntimeException থেকে উত্তরাধিকারী।

এই কাস্টম এক্সসেপশন ব্যবহার করা:

public class ValueValidator {
    public static void validateValue(int value) {
        if (value < 0) {
            throw new NegativeValueException("Value cannot be negative");
        } else {
            System.out.println("Value is valid");
        }
    }

    public static void main(String[] args) {
        try {
            validateValue(-5);  // এটি NegativeValueException ছুড়ে দেবে
        } catch (NegativeValueException e) {
            System.out.println("Caught Exception: " + e.getMessage());
        }
    }
}

এখানে, validateValue মেথডে যদি পাস করা মান নেগেটিভ হয়, তবে NegativeValueException ফেলা হয়। এবং main মেথডে try-catch ব্লক ব্যবহার করে আমরা এই এক্সসেপশনটি হ্যান্ডেল করেছি।


কাস্টম এক্সসেপশন তৈরি করার সুবিধা

  1. কাস্টম ত্রুটি পরিস্থিতি পরিচালনা: আপনার অ্যাপ্লিকেশনের জন্য নির্দিষ্ট ত্রুটি পরিস্থিতি তৈরি করতে কাস্টম এক্সসেপশন ব্যবহার করতে পারেন।
  2. পাঠযোগ্যতা: কাস্টম এক্সসেপশন ত্রুটির স্পষ্ট ব্যাখ্যা প্রদান করতে সহায়ক এবং কোডকে আরও পাঠযোগ্য করে তোলে।
  3. ডিবাগিং সহজ: কাস্টম এক্সসেপশন ব্যবহার করে আপনি ত্রুটি মোকাবেলা করতে পারেন এবং ডিবাগিং সহজ করে তুলতে পারেন।

সারসংক্ষেপ

  1. Checked Exception: কাস্টম এক্সসেপশন যা Exception ক্লাস থেকে উত্তরাধিকারী এবং এটি ট্রাই ক্যাচ ব্লক বা ডিক্লেয়ারেশন ব্যবহার করতে বাধ্য।
  2. Unchecked Exception: কাস্টম এক্সসেপশন যা RuntimeException থেকে উত্তরাধিকারী এবং এটি ট্রাই ক্যাচ ব্লক ছাড়াই ফেলা এবং হ্যান্ডেল করা যেতে পারে।
  3. throw এবং throws: এক্সসেপশন ফেলার জন্য throw ব্যবহার করা হয় এবং এক্সসেপশন ঘোষণার জন্য throws ব্যবহৃত হয়।

Java তে কাস্টম এক্সসেপশন তৈরি এবং ব্যবহারের মাধ্যমে আপনি অ্যাপ্লিকেশনের ত্রুটি পরিচালনা আরও শক্তিশালী এবং নমনীয় করে তুলতে পারবেন।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion